//
//  XXLocationViewController.m
//  XX
//
//  Created by lly on 15/5/27.
//  Copyright (c) 2015年 lly. All rights reserved.
//

#import "XXLocationViewController.h"
#import "AppMacro.h"
@interface XXLocationViewController ()

@end
#import "MyChineseBookAddress.h"

@implementation XXLocationViewController


#define ALLANME @"北京市 上海市 天津市 潍坊市 济南市 淄博市 威海市 枣庄市 泰安市 临沂市 东营市 济宁市 烟台市 菏泽市 日照市 德州市 聊城市 滨州市 莱芜市 石家庄 保定市 秦皇岛 唐山市 邯郸市 邢台市 沧州市 承德市 廊坊市 衡水市 张家口 江门市 佛山市 汕头市 湛江市 韶关市 中山市 珠海市 茂名市 肇庆市 阳江市 惠州市 潮州市 揭阳市 清远市 河源市 东莞市 汕尾市 云浮市 北京市 南宁市 贺州市 柳州市 桂林市 梧州市 北海市 玉林市 钦州市 百色市 防城港 贵港市 河池市 崇左市 来宾市 乐山市 雅安市 广安市 南充市 自贡市 泸州市 内江市 宜宾市 广元市 达州市 资阳市 绵阳市 眉山市 巴中市 攀枝花 遂宁市 德阳市 绍兴市 温州市 湖州市 嘉兴市 台州市 金华市 舟山市 衢州市 丽水市 合肥市 芜湖市 亳州市 马鞍山 池州市 淮南市 淮北市 蚌埠市 巢湖市 安庆市 宿州市 宣城市 滁州市 黄山市 六安市 阜阳市 铜陵市"

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Release any cached data, images, etc that aren't in use.
}



#pragma mark - View lifecycle

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self addCloseNavigationButton];
    
    dataSouceArray = [NSArray arrayWithArray:[ALLANME componentsSeparatedByString:@" "]];
    self.self.m_allName = [[NSMutableArray alloc] init];
    for (int i=0; i<dataSouceArray.count; i++) {
        char firstChar = pinyinFirstLetter([[dataSouceArray objectAtIndex:i] characterAtIndex:0]);
        NSString *youName = [NSString stringWithFormat:@"%c",firstChar];
        //不添加重复元素
        if (![self.m_allName containsObject:[youName uppercaseString]]) {
            [self.self.m_allName addObject:[youName uppercaseString]];
        }
        
    }
    
    [self.self.m_allName sortUsingSelector:@selector(compare:)];
    //
    nameDic = [[NSMutableDictionary alloc] init];
    //每个section对应的行数列表
    for(NSString * sectionString  in self.m_allName)
    {
        NSMutableArray *rowSource = [[NSMutableArray alloc] init];
        for (NSString *charString in dataSouceArray) {
            char firstChar = pinyinFirstLetter([charString characterAtIndex:0]);
            NSString *youName = [NSString stringWithFormat:@"%c",firstChar];
            if ([sectionString isEqualToString:[youName uppercaseString]]) {
                [rowSource addObject:charString];
            }
        }
        
        [nameDic setValue:rowSource forKey:sectionString];
        
    }
    
    
    // Do any additional setup after loading the view, typically from a nib.
    self.self.m_tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH    , SCREEN_HEIGHT) style:UITableViewStylePlain];
    self.self.m_tableView.delegate = self;
    self.self.m_tableView.dataSource = self;
    [self.view addSubview:self.m_tableView];
}

#pragma mark - UITableView delegate
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    NSArray *dicCount = [nameDic objectForKey:[self.m_allName objectAtIndex:section]];
    return [dicCount count];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return [self.m_allName count];
}
- (NSString*)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
    return [self.m_allName objectAtIndex:section];
}
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
{
    NSMutableArray *toBeReturned = [[NSMutableArray alloc]init];
    
    for(char c = 'A';c<='Z';c++)
        
        [toBeReturned addObject:[NSString stringWithFormat:@"%c",c]];
    
    return toBeReturned;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }
    
    NSString * sectionString = [self.m_allName objectAtIndex:indexPath.section];
    
    NSArray *allShowName = [nameDic objectForKey:sectionString];
    if (allShowName.count>0) {
        cell.textLabel.text = [allShowName objectAtIndex:indexPath.row];
    }
    
    return cell;
}

- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index
{
    
    NSInteger count = 0;
    for(NSString *character in self.m_allName)
    {
        if([character isEqualToString:title]) return count;
        count ++;
    }
    
    return 0;
    
}


- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
}

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
}

- (void)viewDidDisappear:(BOOL)animated
{
    [super viewDidDisappear:animated];
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}


@end
